React 包:
react:公用方法(外部暴露),宿主环境无关react-reconciler:协调器(核心逻辑),宿主环境无关shared:公用辅助方法及类型定义(内部使用),宿主环境无关react-dom:浏览器宿主环境JSX 转换属于 react 包
包括两部分:
babel 实现,将 JSX 代码编译成对应方法调用
jsxDEV:React17 后,Dev 环境jsx:React17 后,Prod 环境React.createElement:React17 前如:
<div id="div">123</div>
会被 babel 编译成:
import { jsx as _jsx } from "react/jsx-runtime";
/*#__PURE__*/_jsx("div", {
id: "div",
children: "123"
});
// 或
/*#__PURE__*/React.createElement("div", { id: "div" }, "123");